package pe.gob.mtpe.renoccsys.mybatis.implementacion;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import pe.gob.mtpe.renoccsys.bean.Empleador;
import pe.gob.mtpe.renoccsys.mybatis.comun.MyBatisConnectionFactory;
import pe.gob.mtpe.renoccsys.mybatis.interfase.INTEmpleador;



public class IMPEmpleador implements INTEmpleador {
	
private SqlSessionFactory sqlSessionFactory;
	
	public IMPEmpleador(){
		sqlSessionFactory=MyBatisConnectionFactory.getSqlSessionFactory();
	}
	
	/***
	 * Metodo usado para buscar un empleador en la busqueda de empresa xhtml mnt_EnvioDocCE 
	 * @param
	 * @retorna una lista del objeto empleador
	 */
	@Override
	public List<Empleador> lstBusEmpleador(Empleador empleador) throws Exception {
		SqlSession session=sqlSessionFactory.openSession();
		try {
			System.out.println("Entraa ebe ll DAOSOTEE");
			List<Empleador> lista=new ArrayList<Empleador>();
			String v_razsoc=empleador.getV_razsoc()==null?"":empleador.getV_razsoc().toUpperCase();	
			empleador.setV_razsoc(v_razsoc);
			lista=session.selectList("Empleador.listaBusEmpleador",empleador);			
			return lista;
		} catch (Exception e) {
			System.out.println("Error en IMPEmpleador>lstBusEmpleador: "+e.getMessage());
		}finally{
			session.close();
		}
		return null;
	}
	@Override
	public List<Empleador> lstBusEmpleador1(Empleador empleador) throws Exception {
		SqlSession session=sqlSessionFactory.openSession();
		try {
			List<Empleador> lista=new ArrayList<Empleador>();
			Map parametros=new HashMap();
			parametros.put("v_codemp", empleador.getV_codemp());
			String v_razsoc="";
			v_razsoc=empleador.getV_razsoc()==null?"":empleador.getV_razsoc().toUpperCase();			
			parametros.put("v_razsoc",v_razsoc );
			ResultSet cursorOut=null;
			parametros.put("cursorOut",cursorOut);
			session.selectList("Empleador.listaBusEmpleador1",parametros);
			lista=(List<Empleador>)parametros.get("cursorOut");
			return lista;
		} catch (Exception e) {
			System.out.println("Error en IMPEmpleador>lstBusEmpleador1: "+e.getMessage());
		}finally{
			session.close();
		}
		return null;
	}
	@Override
	public List<Empleador> lstBusEmpleador2(Empleador empleador) throws Exception {
		SqlSession session=sqlSessionFactory.openSession();
		try {
			List<Empleador> lista=new ArrayList<Empleador>();
			Map parametros=new HashMap();
			parametros.put("v_codemp", empleador.getV_codemp());
			String v_razsoc="";
			v_razsoc=empleador.getV_razsoc()==null?"":empleador.getV_razsoc().toUpperCase();			
			parametros.put("v_razsoc",v_razsoc );
			ResultSet cursorOut=null;
			parametros.put("cursorOut",cursorOut);
			session.selectList("Empleador.listaBusEmpleador2",parametros);
			lista=(List<Empleador>)parametros.get("cursorOut");	
			return lista;
		} catch (Exception e) {
			System.out.println("Error en IMPEmpleador>lstBusEmpleador2: "+e.getMessage());
		}finally{
			session.close();
		}
		return null;
	}
	
	
	
	
}
